$(function () {
    // 初始化变单校验插件
    //使用表单校验插件
$('.login-form').bootstrapValidator({
    //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
    excluded: [':disabled', ':hidden', ':not(:visible)'],
  
    //2. 指定校验时的图标显示，默认是bootstrap风格
    feedbackIcons: {
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove',
      validating: 'glyphicon glyphicon-refresh'
    },
      
    //3. 指定校验字段
    fields: {
      //校验用户名，对应name表单的name属性
      username: {
          // 校验规则
        validators: {
          //不能为空
          notEmpty: {
            message: '用户名不能为空'
          },
          //长度校验
          stringLength: {
            min: 2,
            max: 6,
            message: '用户名必须在2到6之间'
          },
          // 扩展一个提示信息
          callback: {
              message: '用户名错误'
          }
        }
      },
      //3. 指定校验字段
        //校验用户名，对应name表单的name属性
        password: {
          validators: {
            //不能为空
            notEmpty: {
              message: '密码不能为空'
            },
            //长度校验
            stringLength: {
              min: 6,
              max: 12,
              message: '密码必须在6到12之间'
            },
            callback: {
                message: '密码错误'
            }
          }
        },
    },
  });



  // 重置表单校验样式
  $('.btn-reset').click(function () {
     // resetForm(); 重置表单，并且会隐藏所有的错误提示和图标
      $(".login-form").data('bootstrapValidator').resetForm();
  })

  /* 
    用户登录功能
    1. 点击登录按钮,获取表单数据,在表单数据校验通过情况下,向后台发送ajax请求,进行登录校验
    2. 接收后台的响应
        2.1: 登录成功, 去首页
        2.2: 登录失败: 提示错误信息
  */

//   插件: 会在用户点击提交按钮,并且数据校验通过时触发
  $(".login-form").on('success.form.bv', function (e) {
    e.preventDefault();
    //使用ajax提交逻辑

        $.ajax({
            type: 'post',
            url: '/employee/employeeLogin',
            data: $('.login-form').serialize(),
            dataType: 'json',
            success: function (res) {
                // console.log(res);
                // 成功请求: 跳转到首页
                if(res.success) {
                    location.href = './index.html'
                }
                if(res.error) {
                    // 用户名不存在 1000, 
                    // 第一个参数: name的属性值
                    // 第二个参数: INVALID ：校验失败的
                    // 第三个参数: 扩展的回调错误信息, callback
                    $(".login-form").data('bootstrapValidator').updateStatus('username', 'INVALID', 'callback')

                }
                if(res.error) {
                    // 密码错误 1001
                    //  NOT_VALIDATED：未校验的
                    //  VALIDATING：校验中的
                    //  INVALID ：校验失败的
                    //  VALID：校验成功的。
                    $(".login-form").data('bootstrapValidator').updateStatus('password', 'INVALID', 'callback')
                }
            }
        })
    });
})